#pragma once

class FileFilterCreator
  {
  public:
    typedef std::wstring Description, Filter;

    void AddFilter(const Filter & m_filter, const Description & m_description);
    void AddFilter(const wchar_t * m_filter, const wchar_t * m_description);
    void RemoveFilter(const Filter & m_filter);
    void AddForAllFilter(bool i_add);
    void Create();

    std::wstring GetFilterString() const;

  private:
    std::map<Filter, Description> m_filters;
    bool m_add_forall_filter;
    std::wstring m_filter_string;
  };
